package com.songlanyun.modules.disabilityauth.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.songlanyun.common.drive.IBaseService;
import com.songlanyun.common.streamquery.BaseBatchData;
import com.songlanyun.common.utils.PageUtils;
import com.songlanyun.modules.disabilityauth.entity.DisabilityAuthEntity;
import com.songlanyun.modules.disabilityauth.model.DisabilityAuditDTO;
import com.songlanyun.modules.disabilityauth.model.DisabilityAuthEntityDTO;

import java.util.Map;
import java.util.function.Consumer;

/**
 * 残疾认证
 *
 * @author lubo
 * @email sunlightcs@gmail.com
 * @date 2022-07-19 14:47:49
 */
public interface DisabilityAuthService extends IBaseService<Long,DisabilityAuthEntity> {

    @Override
    PageUtils queryPage(Map<String, Object> params);

    void apply(DisabilityAuthEntityDTO dto);

    DisabilityAuthEntity loadByUserId(Long userId);

    void updateApply(DisabilityAuthEntityDTO dto);

    void audit(DisabilityAuditDTO dto);

    DisabilityAuthEntity loadById(Long id,boolean tw);

    void batchProcess(Integer batchSize, Consumer<BaseBatchData> consumer);

    Integer loadByFreeBagId(Integer freeBagId);
}

